CBMSTEVE.CA - Steve J. Gray's Homepage
CBMSTEVE.CA - Personal pages of Steve J. Gray
Changes Info Prototypes Remakes PET Projects CBM Projects Modding 3D Models KiCad Github Ohio Scientific Other My Software My Collections Facebooks

Commodore Replacement MX Keyboards Project

Introduction

Commodore Keyboards are old and stop functioning properly after a while making cleaning necessary. They get broken, or simply misplaced. The PET "SK" model keyboards (8032-SK, 8096-SK, 8296 and 8296D) are especially prone to getting lost due to them being detached. Whatever the reason, simple replacement keyboards are needed. This is a project to create compatible keyboards using MX keyswitches and keycaps which are currently available. My idea is to create keyboards that are drop-in replacements for existing cases, but also to design ones that have additional features and/or can be installed in external cases. Also, it is not my intent to build and sell complete kits, but to make the PCB designs available for anyone.

I will be designing and adding keyboards over time. I would like to start with some of the earlier CBM keyboards as they are the oldest and hardest to get. My plan is to start with the following keyboards then add more as interest is shown.

Challenges

These are the main challenges that I see:

Comments and ideas are welcome.

Kicad

I will be using Kicad to design the PCB for these keyboards. There is an MX Keyswitch library for the basic keyswitches, but not all variations are available. Some design may be required. I have just about every Commodore keyboard style ever made, so I will be able to accurately measure them and check for proper fit.

When a keyboard is verified working I will release the Kicad files and Gerbers on Github.

Status, Features, Dates

This is a quick overview chart.

Keyboard Version Switch Schematic Gerbers Labels Keycaps Brackets Date Notes Status
C128SXV1HP/LPYes PendYes No N/A2023-09-12Customizable In Progress
CLCD V1HP PendPendNo PendN/A2022-05-15Diamond Cursor In Progress
CLCD V2HP Yes PendNo PendN/A2022-05-15Inv-T Cursor In Progress
V364 V1HP Yes PendPendPendN/A2021-06-20Diamond Cursor In Progress
CBM-IIV1HP Yes Yes Yes No N/A2021-06-19- Complete
PET N V1HP Yes Yes Yes No Yes2020-12-17Does not fit caseComplete
PET N V2HP Yes Yes Yes No Yes2021-03-31- Complete
PET B V1HP Yes Yes Yes No N/A2021-03-31- Complete

KEY: Switch HP=High Profile,LP=Low Profile


Keyboard Designs

I will post schematics and progress pictures here. I will also post Kicad files and Gerbers if the design is usable even though it is not considered complete. Check the Github repository for more information. Before making PCB's from development releases please check with me first!

To see all current designs on one page click here.


C128SX KEYBOARD


This is a customizable keyboard based on the C128 and SX-64 keyboards (they share the same main section). Several PCB sections can be snapped off to create many different configurations. The C128 numeric pad and the SX64 function keys occupy the same space, but by installing the key switches in opposite orientations it's possible to select which function is populated. I have added the option for an Inverted-T cursor using a technique used in the C65 with the NORMAL cursor keys (not the 4 on the top row). This allows the cursor UP and LEFT to be detected as SHIFTED normal keys and so they work transparently to the firmware. This makes the 4 separate cursor keys on the top row redundant. Also, the C128 numeric pad is wired up to appear as normal C64 keys which will let them work on the C128 in C64 mode. There are options to relocate the function keys to make a compact C128 keyboard for use in future motherboard variations like a C128 Laptop, or C64D fantasy portable computer (spoiler alert). Also, this keyboard will support use on a C16 (with relocated keys) with use of a modified keyboard cable. Since locking MX keys are hard to find, there is a circuit to toggle them on and off electronically. Lastly, there is support for normal Cherry MX switches and Gateron Low-profile switches.
Version Design Board Schematic Resources
CSX-V1

Standard Cutout unless Inverted-T cursor option is used.
9U SPACEBAR or 6U SPACEBAR with extra keys.
Optional POWER LED and DRIVE LED.
Plus/4-style Function keys must be 3D printed.
Requires 66 to 107 switches.
Support for C16 using alternate keyboard cable
(better key placement in next release).
DB-25 connector for SX-64. Pinheader for all lines.
Power and Drive activity LEDs.
Electronics for Locking keys and Inverted-T cursor.
Support for Standard MX or Gateron Low-profile switches.
Gateron Low-profile switches are recommended!!!!
This is my 8th MX Keyboard.




STATUS: 2023-09-12: In Progress. PCBs arrived. Testing low profile switches for SX-64 configuration.
There were errors on the first batch. Working on update.



CLCD KEYBOARD


The CLCD was Commodore's attempt to build a portable Laptop computer with an LCD screen. Sadly the project was cancelled late in its development. A few working prototypes were made but very few have survived. I have been fascinated by this machine and was hoping to one day make a clone or mostly-compatible machine, so this is my attempt to duplicate the keyboard. This keyboard is unique in that the special modifier keys (SHIFT, CTRL, CAPSLOCK, COMMODORE) are decoded separately from the main 8x8 matrix. I have provided jumpers to be able to integrate those keys into the main matrix if you want, so that the keyboard could be used in other designs. Also, this keyboard, like the Plus/4 and V364 keyboard has unique arrow shaped cursor keys and shorter function keys. These keys will need to be 3D printed.

Check out my recreation project here.


Version Design Board Schematic Resources
CLCD-V1

Standard Cutout.
6U SPACEBAR with extra keys. Optional POWER LED.
Arrow and Function keys must be 3D printed.
Arrows require small button-style switches.
Requires 66 key switches.
Mounts directly on Custom CLCD case (design in progress!)
This is my 6th MX Keyboard.
NOTE: I will likely re-design this to exactly match the real layout.


Pending
  • Gerbers:
    Pending

  • Brackets:
    N/A

  • Labels:
    Pending

  • Keycap Scan:
    clcd-scan

  • MaxKeyboard Files:
    Pending

CLCD-V2

Modified Cutout, modified Layout.
Arrow keys replaced by inverted-T cusor keys.
This means the ZXC row needed to be shifted to the left to make room.
Changes to SPACEBAR, C=, SHIFT
6U SPACEBAR with extra keys. Optional POWER LED.
Function keys must be 3D printed.
Requires 70 key switches.
Mounts directly on Custom CLCD case (design in progress!)
This is my 5th MX Keyboard.


  • Gerbers:
    Pending

  • Brackets:
    N/A

  • Labels:
    Pending

  • Keycap Scan:
    clcd-scan

  • MaxKeyboard Files:
    Pending

STATUS: V2 tested ok with one fix. Custom Keycaps Created.
V1 has not been produced. I plan to re-work it to have low-profile switches and proper MX switches for diamond cursor.

Notes: I do not own a CLCD, so the layouts are based on pictures of the prototypes. The Keyboard matrix came from Mike Naberezny's CLCD page. The V2 design with inverted-t cursor was tested and works but needs a small jumper wire to correct a missing via.




V364 / PLUS4 KEYBOARD


The V364 was a member of the TED or 264 series. The V364 was like an expanded Plus/4 with additional voice synthesis and enhanced keyboard but was cancelled before completion. Only a few machines were ever produced and less still remain. I have been facinated by this machine and was hoping to one day make a clone or mostly-compatible machine, so this is my attempt to duplicate the keyboard. This keyboard can also be a Plus/4 keyboard if the numeric pad is removed. The V364 and Plus/4 function keys are in different locations and both are supported.

Check out my recreation project here.


Version Design Board Schematic Resources
V364-V1

Standard Cutout.
6U SPACEBAR with 2 extra keys.
Arrow and Function keys must be 3D printed.
Arrows require small button-style switches.
Function key options for Plus/4 or V364 placement.
Optional Inverted-T cursor keys using MX keyswitches.
Option to separate the numeric pad.
Requires 84 or 88 key switches.
Mounts directly on Custom V364 case (design in progress!)
This is my 4th MX Keyboard.


STATUS: 2021-06-29: Complete. Keyboard Built and tested. Custom Keycaps complete.



CBM-II KEYBOARD


This is the CBM-II (B128, 610, 720, P500 etc) keyboard. It is a full-featured keyboard with function keys, numeric keypad, and some new editing keys. Oh, and a "00" key. The same keyboard layout was used for the entire CBM-II product line, and was available in several international language versions. Since the CBM-II line is my favorite, I decided to make a keyboard that could fit in the original case, but also have an option for an inverted-T cursor at the bottom. I've always thought the CBM-II keyboard was one of the nicest keyboard designs that Commodore produced... EXCEPT for the cursor keys. So I decided to fix it!


Version Design Board Schematic Resources
CBM2-V1

Standard or Custom Cutout.
Layout modified due to no existing standard sized L-shape ENTER.
6.25U SPACEBAR with 2 extra keys (with options).
SHIFTLOCK option.
Inverted T Cursor option and wide or normal "0" key option.
Cable must be wired slightly different. See below.
Requires 96 or 99 key switches.
Mounts directly on original case.
This is my 3rd MX Keyboard.


STATUS: 2021-06-19: Complete. Built and tested ok.

Notes: CBM2-V1-R1 design is complete. I discovered that the R0-R7 and R8 to R15 lines were reversed, so a straight pass-thru cable will not work. Starting at the CBM-II motherboard and going to the keyboard:
Pins 1 to 6 are correct. Pins 7-13 connect to 15-21, Pin 14 connects to Pin 23. Pins 15-21 connect to Pins 7-13. Pin 23 connects to Pin 14. Pin 22 is "key" (no connection).


PET/CBM "N" KEYBOARD


This is the first "real" PET keyboard released after the original PET's "chicklet" keyboard. It has a numeric calculator-style keypad but is lacking numbers on the top row of the main keyboard. It was used mostly on 40-column PET machines.


Version Design Board Schematic Resources
N-V1

Standard Cutout. Standard Layout.
6.25U SPACEBAR with 2 extra keys (with options).
SHIFTLOCK option.
Requires 75 key switches.
Requires 3D printed bracket.
This is my second MX Keyboard.

STATUS: 2020-12-17: V1-R1 - Complete. Built. Works, but does not fit case opening.
2021-03-31: V1-R2 - Complete. Fixes spacing. Boards not yet ordered. Use at own risk!



PET/CBM "B" KEYBOARD


This is the next PET keyboard. The "B" is for business. It was released for the PET/CBM 80 column machines. It is lacking the PETSCII graphic symbols on the front of the keys. The layout is a little more standard with numbers on the top line with shifted symbols When Commodore re-designed the keyboard they completely changed the keyboard matrix, breaking software that scanned the keyboard directly rather than via the KERNAL routines. Generally, it was games that did this, making them hard to control. Worse, because some positions in the keyboard matrix have no actual keyswitch, it's not possible to play some games that use certain keys. To see a comparison of the N and B keyboards click here.


Version Design Board Schematic Resources
B-V1-R1

Standard Cutout. Standard Layout.
6.5U SPACEBAR, 2 extra keys (predefined).
SHIFTLOCK or Option.
Larger PCB with mounting cutouts.
Requires 75 key switches.
My First MX Keyboard!

  • Gerbers:
    B-V1-R1

  • Brackets:
    N/A

  • Labels: (updated 2023-09-29)
    White keys: PDF , SVG.
    Black keys: PDF , SVG.

  • MaxKeyboard Files:
    Pending


B-V1-R2

Standard Cutout. Standard Layout.
6.5U SPACEBAR, 2 extra keys (predefined OR space).
SHIFTLOCK or Option.
Smaller PCB with no mounting cutouts.
Requires 3D printed bracket.
My 7th MX Keyboard!

  • Gerbers:
    B-V1-R2

  • Brackets:
    STL File

  • Labels: (updated 2023-09-29)
    White keys: PDF , SVG.
    Black keys: PDF , SVG.

  • MaxKeyboard Files:
    Pending


STATUS: 2020-07-01: V1-R1 - Complete. Keyboard assembled. Fits case. Functional. Mounting slots need work.
2023-03-21: V1-R2 - Complete. Keyboard assembled. Fits case. Functional. No slots.

I decided to keep both V1 revisions:
Revision 1 works and mounts around the PET mounting posts with a bit of dremelling.
Revision 2 works and is smaller. Download mounting bracket STL file above.


Notes: Standard Cutout fits existing cases. PrgKey means a key that has no assigned code but can be scanned by programming.



GitHub

I have placed the designs for the keyboards on Github. Github will contain the latest revisions and will be newer than this webpage. I will post the schematics, board layout, and gerbers. Please check this page and the github notes/commits before making your own pcbs! If a keyboard is not listed here as complete then it's probably in the testing phase and may not function correctly or fit mechanically! If in doubt contact me!

The github repository is located at https://github.com/sjgray/CBM-MX-Keyboards!

Switch Mechanisms

MX Keyswitches come in different styles like thru-hole or SMD mount, regular or clear (for adding lights), and different colours which determine the feel (sound, activation forces etc). They also come in 3-pin or 5-pin. Either will do, but I find the 5-pin are easier as they align perfectly when inserted. My designs use standard 5-pin thru-hole mountings. I have now started incorporating support for LOW PROFILE MX switches. There are a few different types however none that I have seen use the same footprint as the normal MX switches. So I chose to go with Gateron Low Profile switches. I created a HYBRID footprint to support both switches. The first keyboard to use low profile is the C128SX, and the low profile switches work great for making an SX-64 keyboard. The overall height of the pcb, Gateron low profile switches, and standard cherry type keycaps is exactly the same as the original SX-64 keyboard.

Here is a chart of the switch colours:

Sourcing Keycaps

You can get different sets of MX keycaps from various places like ebay or specialized sellers. The most common sets are ANSI (North American) and ISO (European). The main difference is the ENTER key. The ISO sets use a 2-row high inverted L-shaped ENTER KEY which is not used on any Commodore Keyboard except the CBM-II keyboard. Even then it is not the same size that we need. If you buy a set of keycaps it may or may not be suitable (may not contain the right number and/or size keycaps you need). You also have to conside the profile of the set. If you pick a profile like DSA or XDA then any key can go in any row because all the keys are the same profile (side view). However, if you pick a normal set, each key is shaped only for a specific row, making keycap relocation awkward as the slope will be different from the rest of the keys on the row.

Note: R4f=function row, R4n=number row, R1s=Spacebar row, 2Uh=Horizontal, 2Uv=Vertical.

If you want to do custom-printed keycaps, right now the only options I've seen use Cherry profile keys. This will limit which keys are available. Commodore keyboards, and vintage keyboards in general, used different layouts than modern PC-type keyboards. This means the keycaps are sized for those modern keycaps and only certain keycap sizes are available for each specific row. It also means that there may not be enough of the right size keycaps on a row, or the correct size may not even be available.

As an example, take my V364 keyboard design. The V364 keyboard used cherry profile keys, which is good, but the RETURN key size keycap was not available on that row. I had to use a 2U keycap from a different row. It didn't match the slope of the rest of the keys on that row. It wasn't a huge difference, but it was noticable. My second attempt at custom keycaps for the CLCD keyboard actually worked out well. The CLCD keyboard was more similar to a modern keyboard and all the right size keycaps were available. I used a standard PC keyboard layout in order to have enough keys of the proper size and shape.

My early MX designs were created to closely match existing CBM keyboards, and may not be suitable for custom-printed keycaps.

Keycap Labelling

Since Commodore keyboards have special labelling not found on standard MX keycaps the best solution is to get a blank keycap set and label the keys yourself. There are several possibilities. You can use laser or inkjet printers and print full-size label sheets, cut them, and stick them on. For inkjet printers you may need to also spray on a clear coat to protect them from wear and water. You can also use Waterslide sheets. These are like what is used for the decals on model cars etc. Lastly, it may be possible to get a professional printing place to create a vinyl "kiss-cut" sheet which you can then peel off the individual keys and stick them on. If you have any other ideas please contact me.

I have scanned the real keyboards and have created artwork that can be printed to label the keys. I tried matching the font and sizing as best I could. In some cases there was no exact match in the font - ie: I got the wrong font or Commodore used a different font perhaps for some of the symbols. I have tried to duplicate these as best I could. I will release these in PDF and SVG formats. If you need a different format let me know. Original kecap scans, Sticker sheets (PDF, SVG), and MaxKeyboard.com files can be found in each keyboard section above.

You can find an overview of CBM Keyboards on my scans page here: Keyboard Scans Page

Dyesub Keycap Printing

For the V364 Keyboard I decided to go all out and get custom printed keycaps from maxkeybord.com. These are dye-sublimation printed cherry MX keycaps. The V364 layout is based on an extended Plus/4 keyboard with an added numeric pad. The original Plus/4 keyboard also used cherry-style keycaps so this worked out quite well. The keyboard also uses fairly standard sized keycaps that match well with the keys on each row (see profile). The only exception was the ENTER key which did not have a proper profile at the 2U size of ROW2, so I substituted a 2U from ROW1. The difference is only slight.

In order to do the custom printing I needed to create a custom VECTOR file using their template. As the template was not an exact match for the V364 layout, MaxKeyboard had to process and adapt it to their printing process and required a minimum purchase of two sets of keycaps. The price was a little higher than their standard layout printing but was very reasonable. Overall I am quite happy with the results. You can see some pixelization in the printing, but from a normal distance it is not noticable. I highly recommend their service if you want high-quality printed keycaps and your layout is compatible with standard keycap sizes/placement.

Connecting Cable

Most CBM computers use a single in-line male pin header on the motherboard. You need a female connector on the cable. I have not been able to find an exact replacement for the female connectors so generally I use DUPONT connectors. These come in various sizes up to 20 pins, which is good for PET, VIC-20, C64, and C16. Some computers such as the Plus/4 have a flat ribbon cable connector. Again, I don't know of a direct replacement for these. So I also use dupont connectors. To use this you will need to de-solder the female ribbon connector on the motherboard and solder in a male pin header. The C128 computer uses a double-row male connector that is offset like a DB-25 connector. You can just use a 13-pin and a 12-pin dupont connector and tape or glue them together if you wish. The SX-64 uses a custom DB-25 connector. I am hoping to find a good solution for this in the future.

For my Keyboard PCBs I like to use 90-degree male pin-header so that the cable will lay flush to the PCB. I use female-to-female cables to connect the keyboard to the computer motherboard. You can get dupont connector kits and use regular wire to make a cable, but I prefer to order pre-made 40-pin dupont female-to-female cables of 30cm length. They are not too expensive on ebay. You just tear off however many wires you need for your cable. These have individual dupont connectors on each wire. If you are careful you can put each wire onto the headers separately, or you can replace them with a single 20-pin (or multiple smaller-sized) connector on each end to make plugging the cable in easier. You just need to make a straight-thru cable and mark pin 1. Most pin-headers on the conputer motherboard have pin-2 as a KEY, so you won't need to connect a wire for that.

For PET machines you may need a longer cable. You can put a M-M and a F-M cable together to extend the length or just use your own longer wires.

Mounting Brackets

To mount these keyboards in the original case there may be additional mounting concerns. This is due to the difference between the height of MX keyswitches and keycaps. The overal height of the MX keyboard may be thicker or thinner than the original keyboard. Therefor the keyboard may need to be raised or lowered to properly position the keys at the correct height relative to the case. In some cases the MX keyboard may not even fit the case without modifications.

I plan on designing brackets which can be 3D printed to make mounting possible. I will release the STL files above. Currently I have one bracket that should work on the PET "B" and "N" keyboard that raises up the keyboard using nylon risers. This allows you to choose a riser that works depending on the type/height of the keycaps that you use (Cherry or DSA etc).

Using Original Keycaps

It is possible to use some original Commodore keycaps on MX switches by using an adapter. Unfortunately this will also increase the total height of the keyboard, so that the keycaps will stick out more. In some cases this could be offset by lowering the entire keyboard by adding spacers on the keyboard mounting posts and using longer screws. Another issue will be the SPACEBAR. Some of my designs compensate for lack of modern 9U sized spacebars by adding additional keys to either side of a 6u, 6.25u or 6.5u MX footprint. This will likely cause issues installing stabilizers.

Some existing 3D adapters that are available:

Original Keycap and Other Replacements

If you have original keycaps but are missing some keys or other keyboard parts here are some solutions for 3d printing replacements. NOTE: I have not tested, nor am I endorsing any of these designs! Use at own risk.

Cost

Mechanical keyboards are not cheap. All prices stated here are in Canadian dollars (CAD$) as of 2023. Your prices may vary. Most PCB services have a minimum order of 5 boards. I use JLCPCB for my boards but have also used DirtyPCB.com as well. Keyboards are pretty large so expect to pay about $26 to $35 plus shipping for 5 boards. Shipping will depend on your location and for me in Canada the prices ranged from $32 to $45. You may also have to deal with import fees. I ship with DHL and pay about $25 in taxes and fees, making the total cost of about $75 to $105 for 5 boards. This works out to about $15 to $21 per board.

After that you'll need to buy MX switches. I like to use Gateron switches which cost about 30 cents in bulk from Amazon.ca. Keyboards need anywhere from 70 to 99 keys, so $21 to $30.

Finally you'll need keycaps. This is where it can get interesting. You could buy a simple DSA ANSI keycap set for about $40 which you can re-label with sticker sheets, or you can buy Custom Color printed Cherry keycaps from MaxKeyboard.com for about $120 (depending on keyboard).

All in all you're looking at anywhere from $80 to $170 or more per keyboard depending on how many you make, and what taxes and import fees apply to you. I suggest you research your options before starting on your journey!!! I've made 5+ different keyboard designs so far and have been pleased with the results. The feel of a mechanical keyboard can't be beat. The MX switches should last for many decades, unlike the old Commodore keyboards, some of which have deteriorated beyond repair now. Some of the very early PET keyboards can be cleaned and work perfectly but then have keys stop working only a year or two later. If you make a keyboard from my designs I'd love to hear your feedback on pricing.

Pictures

Development:

B-V1-R1 keyboard:

B-V1-R2 keyboard:

N-V1-R1 keyboard:

CBM2-V1-R1 keyboard:

V364-V1-R1 keyboard:

CLCD V2 keyboard:

C128SX V1 keyboard:

To see all designs on one page click here.

Resource Links

The following are links to various resources that might help you build keyboards:

Project History

Contact

Webpage created: July 1,2020. Last updated: Feb 10/2025, 9:00am EST

Send comments or feedback to Steve Gray(sjgray@rogers.com)